package com.lxmes.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 作业指导书管理对象 nc_work_instruction_management
 *
 * @author lx
 * @date 2023-06-01
 */
@ApiModel(value = "NcWorkInstructionManagement", description = "作业指导书管理对象")
public class NcWorkInstructionManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("${column.columnComment}")
    private Long id;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String factoryName;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String factoryCode;

    /** 指导书编号 */
    @Excel(name = "指导书编号")
    @ApiModelProperty("指导书编号")
    private String guidebookNumber;

    /** 指导书名称 */
    @Excel(name = "指导书名称")
    @ApiModelProperty("指导书名称")
    private String guidebookName;

    /** 指导书版本 */
    @Excel(name = "指导书版本")
    @ApiModelProperty("指导书版本")
    private String guidebookVersion;

    /** 描述 */
    @ApiModelProperty("描述")
    private String description;

    /** 制定人员 */
    @Excel(name = "制定人员")
    @ApiModelProperty("制定人员")
    private String creator;

    /** 制作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "制作时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("制作时间")
    private Date creationTime;

    /** 所属流程编号 */
    @Excel(name = "所属流程编号")
    @ApiModelProperty("所属流程编号")
    private String processNumber;

    /** 作业要求 */
    @Excel(name = "作业要求")
    @ApiModelProperty("作业要求")
    private String jobRequirements;

    /** 提交要求 */
    @Excel(name = "提交要求")
    @ApiModelProperty("提交要求")
    private String submissionRequirements;

    /** 截止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("截止日期")
    private Date deadline;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("发布时间")
    private Date releaseTime;

    /** 发布人 */
    @Excel(name = "发布人")
    @ApiModelProperty("发布人")
    private String releasePerson;

    /** 最近修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最近修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("最近修改时间")
    private Date lastModifiedTime;

    /** 最近修改人员 */
    @Excel(name = "最近修改人员")
    @ApiModelProperty("最近修改人员")
    private String lastModifiedPerson;

    /** 状态 */
    @Excel(name = "状态")
    @ApiModelProperty("状态")
    private String status;

    /** 审核人员 */
    @Excel(name = "审核人员")
    @ApiModelProperty("审核人员")
    private String reviewer;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("审核时间")
    private Date reviewTime;


    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setFactoryName(String factoryName)
    {
        this.factoryName = factoryName;
    }

    public String getFactoryName()
    {
        return factoryName;
    }
    public void setFactoryCode(String factoryCode)
    {
        this.factoryCode = factoryCode;
    }

    public String getFactoryCode()
    {
        return factoryCode;
    }
    public void setGuidebookNumber(String guidebookNumber)
    {
        this.guidebookNumber = guidebookNumber;
    }

    public String getGuidebookNumber()
    {
        return guidebookNumber;
    }
    public void setGuidebookName(String guidebookName)
    {
        this.guidebookName = guidebookName;
    }

    public String getGuidebookName()
    {
        return guidebookName;
    }
    public void setGuidebookVersion(String guidebookVersion)
    {
        this.guidebookVersion = guidebookVersion;
    }

    public String getGuidebookVersion()
    {
        return guidebookVersion;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setCreator(String creator)
    {
        this.creator = creator;
    }

    public String getCreator()
    {
        return creator;
    }
    public void setCreationTime(Date creationTime)
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime()
    {
        return creationTime;
    }
    public void setProcessNumber(String processNumber)
    {
        this.processNumber = processNumber;
    }

    public String getProcessNumber()
    {
        return processNumber;
    }
    public void setJobRequirements(String jobRequirements)
    {
        this.jobRequirements = jobRequirements;
    }

    public String getJobRequirements()
    {
        return jobRequirements;
    }
    public void setSubmissionRequirements(String submissionRequirements)
    {
        this.submissionRequirements = submissionRequirements;
    }

    public String getSubmissionRequirements()
    {
        return submissionRequirements;
    }
    public void setDeadline(Date deadline)
    {
        this.deadline = deadline;
    }

    public Date getDeadline()
    {
        return deadline;
    }
    public void setReleaseTime(Date releaseTime)
    {
        this.releaseTime = releaseTime;
    }

    public Date getReleaseTime()
    {
        return releaseTime;
    }
    public void setReleasePerson(String releasePerson)
    {
        this.releasePerson = releasePerson;
    }

    public String getReleasePerson()
    {
        return releasePerson;
    }
    public void setLastModifiedTime(Date lastModifiedTime)
    {
        this.lastModifiedTime = lastModifiedTime;
    }

    public Date getLastModifiedTime()
    {
        return lastModifiedTime;
    }
    public void setLastModifiedPerson(String lastModifiedPerson)
    {
        this.lastModifiedPerson = lastModifiedPerson;
    }

    public String getLastModifiedPerson()
    {
        return lastModifiedPerson;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setReviewer(String reviewer)
    {
        this.reviewer = reviewer;
    }

    public String getReviewer()
    {
        return reviewer;
    }
    public void setReviewTime(Date reviewTime)
    {
        this.reviewTime = reviewTime;
    }

    public Date getReviewTime()
    {
        return reviewTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryName", getFactoryName())
            .append("factoryCode", getFactoryCode())
            .append("guidebookNumber", getGuidebookNumber())
            .append("guidebookName", getGuidebookName())
            .append("guidebookVersion", getGuidebookVersion())
            .append("description", getDescription())
            .append("creator", getCreator())
            .append("creationTime", getCreationTime())
            .append("processNumber", getProcessNumber())
            .append("jobRequirements", getJobRequirements())
            .append("submissionRequirements", getSubmissionRequirements())
            .append("deadline", getDeadline())
            .append("releaseTime", getReleaseTime())
            .append("releasePerson", getReleasePerson())
            .append("lastModifiedTime", getLastModifiedTime())
            .append("lastModifiedPerson", getLastModifiedPerson())
            .append("status", getStatus())
            .append("reviewer", getReviewer())
            .append("reviewTime", getReviewTime())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
